home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / geos-archive / GEOS-D64 / GEOS Mega ASM (19xx)(-).d64 / list6-6 < prev    next >
Text File  |  2019-04-13  |  5KB  |  285 lines

  1. ; Desk Accessory zum Auslesen von Syteminformationen
  2. if     .p
  3.      t     "TopSym"
  4.      t     "TopMac"
  5. endif
  6.      n     "DeskAccessory"
  7.      i
  8.      f     DESK_ACC
  9.      o     $5500
  10.      q     $7f39
  11.  
  12. :Left     = 48
  13. :Right     = 272
  14. :Top     = 16
  15. :Bottom     = 152
  16.  
  17. :Start     jsr     i_ImprintRectangle
  18.      b     0,199
  19.      w     0,319
  20.  
  21.      LoadW     r1,COLOR_MATRIX
  22.      LoadW     r0,1000
  23.      MoveB     screencolors,r2L
  24.      jsr     FillRam
  25.  
  26.      LoadB     dispBufferOn,ST_WR_FORE!ST_WR_BACK
  27.      LoadW     r0,GrafikTab
  28.      jsr     GraphicsString
  29.      LoadW     r0,MenuTab
  30.      jsr     DoMenu
  31.      LoadW     r0,IconTab
  32.      jsr     DoIcons
  33.  
  34.      LoadW     leftMargin,Left+10
  35.      jsr     i_PutString
  36.      w     Left+10
  37.      b     Top+32
  38.      b     "aktueller Diskname:",CR
  39.      b     "Druckername:",CR
  40.      b     "Zeit:",NULL
  41.  
  42.      LoadW     r8,curDirHead+144
  43.      LoadW     r9,DiskName
  44.      ldx     #r8L     ; Wertzeichen beachten !!
  45.      ldy     #r9L
  46.      lda     #16
  47.      jsr     CopyFString
  48.  
  49.      LoadW     r0,DiskName
  50.      LoadW     r11,Left+100
  51.      LoadB     r1H,Top+32
  52.      jsr     PutString
  53.      LoadW     r0,PrntFileName
  54.      LoadW     r11,Left+100
  55.      LoadB     r1H,Top+32+10
  56.      jsr     PutString
  57.  
  58.      LoadW     r0,ProcessTab
  59.      lda     #1     ; 1 Proze~
  60.      jsr     InitProcesses
  61.      ldx     #0
  62.      jsr     RestartProcess
  63.  
  64.  
  65.      ldx     #0
  66.      jsr     EnableProcess
  67.  
  68.      LoadW     keyVector,MyKeys
  69.  
  70.      rts
  71. :GrafikTab
  72.      b     MOVEPENTO
  73.      w     Left+8
  74.      b     Top+8
  75.      b     NEWPATTERN
  76.      b     1
  77.      b     RECTANGLETO
  78.      w     Right+8
  79.      b     Bottom+8
  80.      b     MOVEPENTO
  81.      w     Left
  82.      b     Top
  83.      b     NEWPATTERN
  84.      b     9
  85.      b     RECTANGLETO
  86.      w     Right
  87.      b     Top+16
  88.      b     NEWPATTERN
  89.      b     0
  90.      b     RECTANGLETO
  91.      w     Left
  92.      b     Bottom
  93.      b     FRAME_RECTO
  94.      w     Right
  95.      b     Top
  96.      b     NULL
  97.  
  98.  
  99. :MenuTab     b     Top,Top+14
  100.      w     Left,Left+32
  101.      b     HORIZONTAL!1
  102.      w     MenuText
  103.      b     SUB_MENU
  104.      w     UnterMenu
  105.  
  106. :MenuText     b     "Men}",0
  107.  
  108. :UnterMenu     b     Top+14,Top+28
  109.      w     Left,Left+32
  110.      b     VERTICAL!1
  111.      w     InfoText
  112.      b     MENU_ACTION
  113.      w     DoInfo
  114.  
  115. :InfoText     b     "Info",0
  116.  
  117. :IconTab     b     1     ; 1 Icon
  118.      w     0     ; kein Setzen der Maus
  119.      b     0
  120.  
  121.      w     komBitmap     ; Zeiger auf die Bitmap
  122.      b     Right/8-2     ; x-Koordinate in CARDS
  123.      b     Top     ; y-Koordinate in Pixel
  124.      b     2     ; Breite des Icon
  125.      b     14     ; H|he des Icon
  126.      w     EndDA     ; Adresse, die bei Anwahl
  127.                ; angesprungen wird
  128.  
  129. :komBitmap     b     $80+28     ; Kopfbyte + 28 Folgebytes
  130.      b     %11111111,%11111111
  131.      b     %10000000,%00000001
  132.      b     %10000000,%00000001
  133.      b     %10000000,%00000001
  134.      b     %10000000,%00000001
  135.      b     %10000000,%00000001
  136.      b     %10000111,%11100001
  137.      b     %10000111,%11100001
  138.      b     %10000000,%00000001
  139.      b     %10000000,%00000001
  140.      b     %10000000,%00000001
  141.      b     %10000000,%00000001
  142.      b     %10000000,%00000001
  143.      b     %11111111,%11111111
  144.  
  145.  
  146. :EndDA     LoadW     appMain,RstrAppl
  147.      rts
  148.  
  149. :DoInfo     jsr     GotoFirstMenu
  150. :DoBox     LoadW     r0,dlgBoxRamBuf
  151.      LoadW     r1,merkBuffer
  152.      LoadW     r2,417
  153.      jsr     MoveData
  154.  
  155.      LoadW     r0,DialTab
  156.      jsr     DoDlgBox
  157.  
  158.      jsr     i_MoveData
  159.      w     merkBuffer
  160.      w     dlgBoxRamBuf
  161.      w     417
  162.  
  163.      rts
  164.  
  165. :DialTab     b     $81
  166.      b     OK
  167.      b     16,50
  168.      b     NULL
  169.  
  170. :merkBuffer
  171.      s     420
  172.  
  173.  
  174. :DiskName
  175.      s     17
  176.  
  177. :ProcessTab
  178.      w     DoProcess1
  179.      w     20
  180.  
  181. :DoProcess1
  182.      php
  183.      sei          ; interrupt sperren
  184.  
  185.      MoveB     seconds,MySek
  186.      MoveB     minutes,MyMin
  187.      MoveB     hour,MyStd
  188.      plp
  189.  
  190.      lda     MySek
  191.      sta     r0L
  192.      jsr     Div10
  193.      clc
  194.      lda     r0L
  195.      adc     #$30
  196.      sta     secZehner
  197.      lda     r8L
  198.      adc     #$30
  199.      sta     secEiner
  200.  
  201.      lda     MyMin
  202.      sta     r0L
  203.      jsr     Div10
  204.      clc
  205.      lda     r0L
  206.      adc     #$30
  207.      sta     minZehner
  208.      lda     r8L
  209.      adc     #$30
  210.      sta     minEiner
  211.  
  212.      lda     MyStd
  213.      sta     r0L
  214.      jsr     Div10
  215.      clc
  216.      lda     r0L
  217.      adc     #$30
  218.      sta     stdZehner
  219.      lda     r8L
  220.      adc     #$30
  221.      sta     stdEiner
  222.  
  223.      LoadW     r0,time
  224.      LoadW     r11,Left+100
  225.      LoadB     r1H,Top+32+20
  226.      jsr     PutString
  227.  
  228.      rts
  229.  
  230. :Div10     LoadB     r0H,0
  231.      ldx     #r0L
  232.      LoadW     r1,10
  233.      ldy     #r1L
  234.      jsr     Ddiv
  235.      rts
  236.      
  237. :time
  238. :stdZehner     b     "0"
  239. :stdEiner  b     "0:"
  240. :minZehner     b     "0"
  241. :minEiner     b     "0:"
  242. :secZehner     b     "0"
  243. :secEiner     b     "0  ",NULL
  244.  
  245. :MySek     b     0
  246. :MyMin     b     0
  247. :MyStd     b     0
  248.  
  249. :MyKeys
  250.      lda     keyData
  251.      ldy     #3     ; 4 Tasten abfragen
  252. ::10     cmp     Tasten,y
  253.      beq     :20
  254.      dey
  255.      bpl     :10
  256.      rts
  257.  
  258. ::20
  259.      lda     HighTast,y
  260.      pha
  261.      lda     LowTast,y
  262.      pha
  263.      rts
  264.  
  265. :Tasten     b     233     ; <cbm>+<i>
  266.      b     229     ; <cbm>+<q>
  267.      b     KEY_F1     ; <F1>
  268.      b     KEY_F3     ; <F3>
  269.  
  270. :HighTast     b     >DoBox-1,>EndDA-1
  271.      b     >StopClock-1,>RunClock-1
  272.  
  273. :LowTast     b     <DoBox-1,<EndDA-1
  274.      b     <StopClock-1,<RunClock-1
  275.  
  276. :StopClock
  277.      ldx     #0     ; erster Proze~!
  278.      jsr     FreezeProcess
  279.      rts
  280.  
  281. :RunClock
  282.      ldx     #0
  283.      jsr     UnfreezeProcess
  284.      rts